The present invention relates to software for interactive communication with a machine, such as a copier or printer, enabling remote status inquires and maintenance of the machine. Specifically, the present invention relates to a specific architecture for such software which facilitates many practical advantages.
With the increasing sophistication of office equipment, such as digital copiers, printers, facsimiles, as well as devices which combine many of these functions, individual devices become more and more software intensive. Much of the functionality associated with a particular device dwells in the software of the device, and functionalities of a device can be monitored, improved or increased via the machine software. Preferably, such software access could be performed, for example, by a tech rep attending the device and plugging in a personal computer or laptop into the device for direct access to or downloading of software; or, the software could be accessed or installed in a device remotely, over a network.
Whatever the specific physical means used to access the internal software of a particular machine, it is most desirable to provide a common xe2x80x9capplicationxe2x80x9d enabling a human user to view and if necessary alter the machine conditions through the user""s computer. It is most desirable that the application for interacting with a particular machine be indifferent to the specific physical means (network, modem, direct connection, IR, etc.) by which a particular machine is accessed.
Further, it is likely that a relatively large population of machines, such as digital copiers or printers, may be accessed in various ways by a relatively large population of human users or administrators. Depending on the level of interaction with the internal software of various machines, it may be desirable to give some human users, such as administrators, fairly detailed access to the internal software of a particular machine (e.g., voltage levels within the printer hardware, analysis of the long-term use of the machine), while other users are given only limited access to only the most basic software functions (e.g., simply determining whether a printer is available for use). Of course, there is also a necessity to give some users access to only some machines, with different users access to other machines. There is thus a need to set-up what is in effect xe2x80x9creadxe2x80x9d and xe2x80x9cwritexe2x80x9d privileges relating various users to specific functions within various machines.
U.S. Pat. Nos. 5,038,319; 5,057,866; 5,138,377; and U.S. Pat. No. 5,339,168 are examples of basic concepts of xe2x80x9cremote interactive communicationxe2x80x9d with machines such as printers and copiers.
The article by Bylinsky, xe2x80x9cFixing Machines From Afar,xe2x80x9d Fortune, Aug. 17, 1998, page 174[B], describes a number of techniques currently available for remote repair, diagnostics, and maintenance of various complicated machines.
According to one aspect of the present invention, there is provided a program, operable on at least one computer, for accessing machine software operative of a machine. A protocol layer converts data derived from the machine software to a set of function calls, the function calls being exportable to an application for viewing on a user interface. A system interface applies a set of permissions to the function calls from the protocol layer, whereby only a permitted subset of function calls may be exported to an application.